import java.util.Scanner;

/**
 * 一组数，可以任取其中一个数+1,使操作后的数组乘积末尾有尽可能多的0，输出最后0的个数。
 */
public class Main {

    // 计算一个数中包含的因数2的数量
    private static int countFactor2(int n) {
        int count = 0;
        while (n % 2 == 0) {
            count++;
            n /= 2;
        }
        return count;
    }

    // 计算一个数中包含的因数5的数量
    private static int countFactor5(int n) {
        int count = 0;
        while (n % 5 == 0) {
            count++;
            n /= 5;
        }
        return count;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 读取数组长度
        int n = scanner.nextInt();
        int[] nums = new int[n];

        for (int i = 0; i < n; i++) {
            nums[i] = scanner.nextInt();
        }

        int totalFives = 0;  // 原始因数5的总数
        int totalTwos = 0;   // 原始因数2的总数

        // 计算原始数组中的因数2和因数5的总数
        for (int num : nums) {
            totalFives += countFactor5(num);
            totalTwos += countFactor2(num);
        }

        int maxZeros = Math.min(totalFives, totalTwos);  // 初始乘积末尾0的数量

        // 尝试对每个元素+1
        for (int num : nums) {
            int currentFives = countFactor5(num);
            int currentTwos = countFactor2(num);

            int newFives = countFactor5(num + 1);
            int newTwos = countFactor2(num + 1);

            // 计算进行+1操作后总的因数2和因数5的数量
            int newTotalFives = totalFives - currentFives + newFives;
            int newTotalTwos = totalTwos - currentTwos + newTwos;

            // 更新最大末尾0的数量
            maxZeros = Math.max(maxZeros, Math.min(newTotalFives, newTotalTwos));
        }

        // 输出结果
        System.out.println(maxZeros);
    }
}
